/*
Copyright [2023] [fuwen_soft]
*/
package vip.xiaonuo.modular.xyuser.service;

import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.core.pojo.page.PageResult;
import vip.xiaonuo.modular.xyuser.entity.XyUser;
import vip.xiaonuo.modular.xyuser.form.WechatForm;
import vip.xiaonuo.modular.xyuser.form.WechatInfoForm;
import vip.xiaonuo.modular.xyuser.param.XyUserParam;
import vip.xiaonuo.modular.xyuser.vo.UserCodeVo;
import vip.xiaonuo.sys.core.msg.Result;

import java.util.List;

/**
 * 用户信息service接口
 *
 * @author yanwei
 * @date 2023-05-05 15:44:27
 */
public interface XyUserService extends IService<XyUser> {

    /**
     * 查询用户信息
     *
     * @author yanwei
     * @date 2023-05-05 15:44:27
     */
    PageResult<XyUser> page(XyUserParam xyUserParam);

    /**
     * 用户信息列表
     *
     * @author yanwei
     * @date 2023-05-05 15:44:27
     */
    List<XyUser> list(XyUserParam xyUserParam);

    /**
     * 添加用户信息
     *
     * @author yanwei
     * @date 2023-05-05 15:44:27
     */
    void add(XyUserParam xyUserParam);

    /**
     * 删除用户信息
     *
     * @author yanwei
     * @date 2023-05-05 15:44:27
     */
    void delete(List<XyUserParam> xyUserParamList);

    /**
     * 编辑用户信息
     *
     * @author yanwei
     * @date 2023-05-05 15:44:27
     */
    void edit(XyUserParam xyUserParam);

    /**
     * 查看用户信息
     *
     * @author yanwei
     * @date 2023-05-05 15:44:27
     */
     XyUser detail(XyUserParam xyUserParam);

    /**
     * 导出用户信息
     *
     * @author yanwei
     * @date 2023-05-05 15:44:27
     */
     void export(XyUserParam xyUserParam);

    Result<UserCodeVo> loginByCode(String code);

    String login(WechatForm wechatForm);

    void getPhoneNumber(String code);

    void getNewPhoneNumber(WechatInfoForm wechatInfoForm);
}
